<%# encoding: utf-8%>
$(function() {
  if ($('body').hasClass('users')) {
    $('#users-menu-link').addClass('menu-current');
    usersTable_Settings = {
      'bAutoWidth':      false,
      'bLengthChange':   false,
      'bStateSave':      true,
      'oLanguage':       dataTables_lang,
      'sPaginationType': 'full_numbers',
      'aoColumnDefs':    [{'bSearchable': false, 'aTargets': [2, 3]},
                          {'bSortable': false, 'aTargets': [3]},
                          {'sType': 'string', 'aTargets': [2]}
                         ]
    };
    usersTable = $('#users-table').dataTable(usersTable_Settings);
    var ultabs = $('ul.tabs');
    ultabs.tabs('div.panels > div.panel', {
      effect: 'slide',
      tabs: 'li',
      onClick: function(event, tabIndex) {
        var tab = this.getCurrentTab().find('a').attr('href');
        if (tab == '#users') {
          $('.invoke-modalBox').html('<button class="addUser" rel="#add_user_modalBox">' + I18n.t('users.js.add_user') + '</button>').toggle();
          addUser_trigger = $('.addUser').overlay({
            'closeOnClick': false,
            'mask': {color: '#404040', loadSpeed: 'normal', opacity: 0.7},
            'top': '25%',
            'onBeforeLoad': function(event) {
              $('.modalBox-flash').empty();
            }
          });
          $('#users-table .icon-tip').tooltip({'effect': 'fade', 'tipClass': 'help-tip'});
        }
      }
    });
    $('#new-user-form .help').tooltip({'effect': 'fade', 'tipClass': 'help-tip'});
    $('#new-user-form').validator({'effect': 'below_field_error', 'inputEvent': 'blur', 'lang': validatorTools_lang});
    $(document)
      .on('ajax:beforeSend', '#new-user-form', function(evt, xhr, settings) {
        var validator = $('#new-user-form').data('validator');
        if (!validator.checkValidity()) return false;
        request_processed = false;
        $(this).find('.modalBox-submit input[type="submit"]').attr({value: I18n.t('assets.js.ajax_processing')});
      })
      .on('ajax:success', '#new-user-form', function(evt, data, status, xhr) {
        if (request_processed == true) {
          $(this).find('input[type="email"],input[type="password"]').val('');
        }
      })
      .on('ajax:error', '#new-user-form', function(evt, xhr, status, error) {
        request_processed = true;
        $('#flash-content').empty();
        $('#flash-content').append('<div class="alert">' + I18n.t('assets.js.ajax_error') + '</div>');
        $('#flash').fadeIn('slow');
      })
      .on('ajax:complete', '#new-user-form', function(evt, xhr, status) {
        if (request_processed == true) {
          addUser_trigger.eq(0).overlay().close();
        }
        $(this).find('.modalBox-submit input[type="submit"]').attr({value: I18n.t('users.js.add_user')});
      });
    $(document)
      .on('ajax:beforeSend', '#delete-user-link', function(evt, xhr, settings) {
        $(this).find('img').attr({ src : '<%= asset_path('wait.gif') %>'}).removeClass('delete');
      })
      .on('ajax:error', '#delete-user-link', function(evt, xhr, status, error) {
        $('#flash-content').empty();
        $('#flash-content').append('<div class="alert">' + I18n.t('assets.js.ajax_error') + '</div>');
        $('#flash').fadeIn('slow');
      })
      .on('ajax:complete', '#delete-user-link', function(evt, xhr, status) {
        $(this).find('img').attr({ src : '<%= asset_path('s.gif') %>'}).addClass('delete');
      });
  }
});